package com.tom.architect02.mnbase.annotation.fs;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

// 标识其他的注解, 注解的多态
@Target(ElementType.ANNOTATION_TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface EventBase { // 事件的三要素，规范到这里面。
    // 1. setOnclickListener 做订阅关系的，表示事件是谁。
    String listenerSetter();
    // 2. new View.OnclickListener() 事件本身，是哪个事件。
    Class<?> listenerType();
    // 3. 事件的处理程序 onClick() 方法, 需要回调的方法。
    String callbackMethod();
}
